package com.sgb.kjwl.model.api;

import com.sgb.kjwl.model.entity.lease.CarListEntity3;
import com.sgb.kjwl.model.entity.lease.DeviceListEntity3;
import com.sgb.kjwl.model.entity.lease.MachineListEntity3;
import com.sgb.kjwl.model.entity.request.LeaseMachineFilterJson;
import com.sgb.kjwl.model.entity.request.MachineFilterJson3;
import com.sgb.kjwl.model.entity.supplier3.DictEntity3;
import com.swgk.core.base.model.entity.ListResponse;
import com.swgk.core.base.model.entity.BaseEntity;

import java.util.List;

import io.reactivex.Observable;
import retrofit2.http.Body;
import retrofit2.http.POST;
import retrofit2.http.Query;

/**
 * Description: 租赁模块相关接口
 * Author zhengkewen
 * Time 2020/5/21
 */
public interface LeaseInterface {
    //获取机械分类
    @POST("v1/app/machinery/firstCategory")
    Observable<BaseEntity<List<DictEntity3>>> getMachineFilterType();

    //获取机械类型
    @POST("v1/app/machinery/secondCategory")
    Observable<BaseEntity<List<DictEntity3>>> getMachineFilterModel(@Query("parentNo") String parentNo);

    //获取机械机龄
    @POST("v1/app/machinery/machineAges")
    Observable<BaseEntity<List<DictEntity3>>> getMachineFilterTime();

    //获取机械排序方式
    @POST("v1/app/machinery/categorySort")
    Observable<BaseEntity<List<DictEntity3>>> getMachineFilterSort();

    //获取机械列表
    @POST("v1/app/machinery/rentListV1")
    Observable<BaseEntity<ListResponse<List<MachineListEntity3>>>> getMachineList3(@Body LeaseMachineFilterJson machineFilterJson3);

    //获取机械筛选属性
    @POST("v1/app/machinery/categoryAttributeForList")
    Observable<BaseEntity<List<DictEntity3>>> getMachineFilterSpec(@Query("no") String id);

    //获取设备分类
    @POST("v1/app/equipment/equipmentFirstCategory")
    Observable<BaseEntity<List<DictEntity3>>> getDeviceFilterType();

    //获取设备类型
    @POST("v1/app/equipment/equipmentSecondCategory")
    Observable<BaseEntity<List<DictEntity3>>> getDeviceFilterModel(@Query("parentId") String parentNo);

    //获取设备筛选属性
    @POST("v1/app/equipment/categoryAttributteV1")
    Observable<BaseEntity<List<DictEntity3>>> getDeviceFilterSpec(@Query("no") String id);

    //获取设备列表
    @POST("v1/app/equipment/equipmentListV1")
    Observable<BaseEntity<ListResponse<List<DeviceListEntity3>>>> getDeviceList3(@Body MachineFilterJson3 machineFilterJson3);

    //获取车辆分类
    @POST("v1/app/car/carModel")
    Observable<BaseEntity<List<DictEntity3>>> getCarFilterType();

    //获取车辆品牌
    @POST("v1/app/car/carBrand")
    Observable<BaseEntity<List<DictEntity3>>> getCarFilterBrand();

    //获取车辆日租金
    @POST("v1/app/car/carRental")
    Observable<BaseEntity<List<DictEntity3>>> getCarFilterMoney();

    //获取车辆列表
    @POST("v1/app/car/rentList")
    Observable<BaseEntity<ListResponse<List<CarListEntity3>>>> getCarList3(@Body MachineFilterJson3 machineFilterJson3);
}

